Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Run-length encoding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Run-length_encoding"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Run-length_encoding rootpage-Run-length_encoding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Run-length encoding</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="Run-length_limited" title="Run-length limited">run-length limited</a>.</div>
<p><b>Run-length encoding</b> (<b>RLE</b>) is a form of <a href="Lossless_data_compression" class="mw-redirect" title="Lossless data compression">lossless data compression</a> in which <i>runs</i> of data (consecutive occurrences of the same data value) are stored as a single occurrence of that data value and a count of its consecutive occurrences, rather than as the original run. As an imaginary example of the concept, when encoding an image built up from colored dots, the sequence "green green green green green green green green green" is shortened to "green x 9". This is most efficient on data that contains many such runs, for example, simple graphic images such as icons, line drawings, games, and animations. For files that do not have many runs, encoding them with RLE could increase the file size.
</p><p>RLE may also refer in particular to an early graphics file format supported by <a href="CompuServe" title="CompuServe">CompuServe</a> for compressing black and white images, that was widely supplanted by their later <a href="Graphics_Interchange_Format" class="mw-redirect" title="Graphics Interchange Format">Graphics Interchange Format</a> (GIF).
</p><p>RLE also refers to a little-used image format in <a href="Windows_3.x" title="Windows 3.x">Windows 3.x</a> that is saved with the file extension <code>rle</code>; it is a run-length encoded bitmap, and was used as the format for the Windows 3.x startup screen.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History_and_applications">History and applications</h2></div>
<p>Run-length encoding (RLE) schemes were employed in the transmission of analog television signals as far back as 1967.<sup id="cite_ref-robinson_1-0" class="reference"><a href="#cite_note-robinson-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> In 1983, run-length encoding was <a href="Patent" title="Patent">patented</a> by <a href="Hitachi" title="Hitachi">Hitachi</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> RLE is particularly well suited to <a href="Palette_(computing)" title="Palette (computing)">palette</a>-based bitmap images (which use relatively few colours) such as <a href="Computer_icons" class="mw-redirect" title="Computer icons">computer icons</a>, and was a popular image compression method on early <a href="Online_service" class="mw-redirect" title="Online service">online services</a> such as <a href="CompuServe" title="CompuServe">CompuServe</a> before the advent of more sophisticated formats such as <a href="GIF" title="GIF">GIF</a>.<sup id="cite_ref-transactor_5-0" class="reference"><a href="#cite_note-transactor-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> It does not work well on continuous-tone images (which use very many colours) such as photographs, although <a href="JPEG" title="JPEG">JPEG</a> uses it on the coefficients that remain after transforming and <a href="Quantization_(image_processing)" title="Quantization (image processing)">quantizing</a> image blocks.
</p><p>Common formats for run-length encoded data include <a href="Truevision_TGA" title="Truevision TGA">Truevision TGA</a>, <a href="PackBits" title="PackBits">PackBits</a> (by Apple, used in <a href="MacPaint" title="MacPaint">MacPaint</a>), <a href="PCX" title="PCX">PCX</a> and <a href="ILBM" title="ILBM">ILBM</a>. The <a href="International_Telecommunication_Union" title="International Telecommunication Union">International Telecommunication Union</a> also describes a standard to encode run-length colour for <a href="Fax" title="Fax">fax</a> machines, known as T.45.<sup id="cite_ref-itu_6-0" class="reference"><a href="#cite_note-itu-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> That fax colour coding standard, which along with other techniques is incorporated into <a href="Modified_Huffman_coding" title="Modified Huffman coding">Modified Huffman coding</a>, is relatively efficient because most faxed documents are primarily white space, with occasional interruptions of black.
</p>
<div class="mw-heading mw-heading2"><h2 id="Algorithm">Algorithm</h2></div>
<p>RLE has a space complexity of <span class="nowrap">⁠<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O(n)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>O</mi>
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle O(n)}</annotation>
</semantics>
</math></span><img src="./34109fe397fdcff370079185bfdb65826cb5565a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.977ex; height:2.843ex;" alt="{\displaystyle O(n)}" loading="lazy"></span>⁠</span>, where <span class="texhtml mvar" style="font-style:italic;">n</span> is the size of the input data.
</p>
<div class="mw-heading mw-heading3"><h3 id="Encoding_algorithm">Encoding algorithm</h3></div>
<p>Run-length encoding compresses data by reducing the physical size of a repeating string of characters. This process involves converting the input data into a compressed format by identifying and counting consecutive occurrences of each character. The steps are as follows:
</p>
<ol><li>Traverse the input data.</li>
<li>Count the number of consecutive repeating characters (run length).</li>
<li>Store the character and its run length.</li></ol>
<div class="mw-heading mw-heading4"><h4 id="Python_implementation">Python implementation</h4></div>
<style data-mw-deduplicate="TemplateStyles:r1214851843">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hidden-begin{box-sizing:border-box;width:100%;padding:5px;border:none;font-size:95%}.mw-parser-output .hidden-title{font-weight:bold;line-height:1.6;text-align:left}.mw-parser-output .hidden-content{text-align:left}@media all and (max-width:500px){.mw-parser-output .hidden-begin{width:auto!important;clear:none!important;float:none!important}}


/* end https://en.wikipedia.org/ */
</style><div class="hidden-begin mw-collapsible mw-collapsed" style=""><div class="hidden-title skin-nightmode-reset-color" style="text-align:center; background:#ccccff; text-align:left;">Imports and helper functions</div><div class="hidden-content mw-collapsible-content" style="">
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="kn">from</span><span class="w"> </span><span class="nn">itertools</span><span class="w"> </span><span class="kn">import</span> <span class="n">repeat</span><span class="p">,</span> <span class="n">compress</span><span class="p">,</span> <span class="n">groupby</span>

<span class="k">def</span><span class="w"> </span><span class="nf">ilen</span><span class="p">(</span><span class="n">iterable</span><span class="p">):</span>
<span class="w"> </span><span class="sd">"""</span>
<span class="sd"> Return the number of items in iterable.</span>

<span class="sd"> &gt;&gt;&gt; ilen(x for x in range(1000000) if x&nbsp;% 3 == 0)</span>
<span class="sd"> 333334</span>
<span class="sd"> """</span>
<span class="c1"># using zip() to wrap the input with 1-tuples which compress() reads as true values.</span>
<span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="n">compress</span><span class="p">(</span><span class="n">repeat</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span> <span class="nb">zip</span><span class="p">(</span><span class="n">iterable</span><span class="p">)))</span>
</pre></div>
</div></div>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="k">def</span><span class="w"> </span><span class="nf">rle_encode</span><span class="p">(</span><span class="n">iterable</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">length_first</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="w"> </span><span class="sd">"""</span>
<span class="sd"> &gt;&gt;&gt; "".join(rle_encode("AAAABBBCCDAA"))</span>
<span class="sd"> '4A3B2C1D2A'</span>
<span class="sd"> &gt;&gt;&gt; "".join(rle_encode("AAAABBBCCDAA", length_first=False))</span>
<span class="sd"> 'A4B3C2D1A2'</span>
<span class="sd"> """</span>
<span class="k">return</span> <span class="p">(</span>
<span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">ilen</span><span class="p">(</span><span class="n">g</span><span class="p">)</span><span class="si">}{</span><span class="n">k</span><span class="si">}</span><span class="s2">"</span> <span class="k">if</span> <span class="n">length_first</span> <span class="k">else</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">k</span><span class="si">}{</span><span class="n">ilen</span><span class="p">(</span><span class="n">g</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span> <span class="c1"># ilen(g): length of iterable g</span>
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">groupby</span><span class="p">(</span><span class="n">iterable</span><span class="p">)</span>
<span class="p">)</span>
</pre></div><p><sup id="cite_ref-more-itertools_7-0" class="reference"><a href="#cite_note-more-itertools-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><div class="mw-heading mw-heading3"><h3 id="Decoding_algorithm">Decoding algorithm</h3></div>
<p>The decoding process involves reconstructing the original data from the encoded format by repeating characters according to their counts. The steps are as follows:
</p>
<ol><li>Traverse the encoded data.</li>
<li>For each count-character pair, repeat the character count times.</li>
<li>Append these characters to the result string.</li></ol>
<div class="mw-heading mw-heading4"><h4 id="Python_implementation_2">Python implementation</h4></div>
<div class="hidden-begin mw-collapsible mw-collapsed" style=""><div class="hidden-title skin-nightmode-reset-color" style="text-align:center; background:#ccccff; text-align:left;">Imports</div><div class="hidden-content mw-collapsible-content" style="">
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="kn">from</span><span class="w"> </span><span class="nn">itertools</span><span class="w"> </span><span class="kn">import</span> <span class="n">chain</span><span class="p">,</span> <span class="n">repeat</span><span class="p">,</span> <span class="n">batched</span>
</pre></div>
</div></div>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span class="k">def</span><span class="w"> </span><span class="nf">rle_decode</span><span class="p">(</span><span class="n">iterable</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">length_first</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="w"> </span><span class="sd">"""</span>
<span class="sd"> &gt;&gt;&gt; "".join(rle_decode("4A3B2C1D2A"))</span>
<span class="sd"> 'AAAABBBCCDAA'</span>
<span class="sd"> &gt;&gt;&gt; "".join(rle_decode("A4B3C2D1A2", length_first=False))</span>
<span class="sd"> 'AAAABBBCCDAA'</span>
<span class="sd"> """</span>
<span class="k">return</span> <span class="n">chain</span><span class="o">.</span><span class="n">from_iterable</span><span class="p">(</span>
<span class="n">repeat</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">a</span><span class="p">))</span> <span class="k">if</span> <span class="n">length_first</span> <span class="k">else</span> <span class="n">repeat</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">b</span><span class="p">))</span>
<span class="k">for</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">batched</span><span class="p">(</span><span class="n">iterable</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="p">)</span>
</pre></div><p><sup id="cite_ref-more-itertools_7-1" class="reference"><a href="#cite_note-more-itertools-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><div class="mw-heading mw-heading2"><h2 id="Example">Example</h2></div>
<p>Consider a screen containing plain black text on a solid white background. There will be many long runs of white <a href="Pixel" title="Pixel">pixels</a> in the blank space, and many short runs of black pixels within the text. A hypothetical <a href="Scan_line" title="Scan line">scan line</a>, with B representing a black pixel and W representing white, might read as follows:
</p>
<dl><dd><code> WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW </code></dd></dl>
<p>With a run-length encoding (RLE) data compression algorithm applied to the above hypothetical scan line, it can be rendered as follows:
</p>
<dl><dd><code> 12W1B12W3B24W1B14W </code></dd></dl>
<p>This can be interpreted as a sequence of twelve Ws, one B, twelve Ws, three Bs, etc., and represents the original 67 characters in only 18. While the actual format used for the storage of images is generally binary rather than <a href="ASCII" title="ASCII">ASCII</a> characters like this, the principle remains the same. Even binary data files can be compressed with this method; file format specifications often dictate repeated bytes in files as padding space. However, newer compression methods such as <a href="DEFLATE" class="mw-redirect" title="DEFLATE">DEFLATE</a> often use <a href="LZ77" class="mw-redirect" title="LZ77">LZ77</a>-based algorithms, a generalization of run-length encoding that can take advantage of runs of strings of characters (such as <code>BWWBWWBWWBWW</code>).
</p><p>Run-length encoding can be expressed in multiple ways to accommodate data properties as well as additional compression algorithms. For instance, one popular method encodes run lengths for runs of two or more characters only, using an "escape" symbol to identify runs, or using the character itself as the escape, so that any time a character appears twice it denotes a run. On the previous example, this would give the following:
</p>
<dl><dd><code>WW12BWW12BB3WW24BWW14</code></dd></dl>
<p>This would be interpreted as a run of twelve Ws, a B, a run of twelve Ws, a run of three Bs, etc. In data where runs are less frequent, this can significantly improve the compression rate.
</p><p>One other matter is the application of additional compression algorithms. Even with the runs extracted, the frequencies of different characters may be large, allowing for further compression; however, if the run lengths are written in the file in the locations where the runs occurred, the presence of these numbers interrupts the normal flow and makes it harder to compress. To overcome this, some run-length encoders separate the data and escape symbols from the run lengths, so that the two can be handled independently. For the example data, this would result in two outputs, the string "<code>WWBWWBBWWBWW</code>" and the numbers (<code>12,12,3,24,14</code>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Variants">Variants</h2></div>
<ul><li>Sequential RLE: This method processes data one line at a time, scanning from left to right. It is commonly employed in image compression. Other variations of this technique include scanning the data vertically, diagonally, or in blocks.</li>
<li>Lossy RLE: In this variation, some bits are intentionally discarded during compression (often by setting one or two significant bits of each pixel to 0). This leads to higher compression rates while minimally impacting the visual quality of the image.</li>
<li>Adaptive RLE: Uses different encoding schemes depending on the length of runs to optimize compression ratios. For example, short runs might use a different encoding format than long runs.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Kolakoski_sequence" title="Kolakoski sequence">Kolakoski sequence</a></li>
<li><a href="Look-and-say_sequence" title="Look-and-say sequence">Look-and-say sequence</a></li>
<li><a href="Comparison_of_graphics_file_formats" title="Comparison of graphics file formats">Comparison of graphics file formats</a></li>
<li><a href="Golomb_coding" title="Golomb coding">Golomb coding</a></li>
<li><a href="Burrows%E2%80%93Wheeler_transform" title="Burrows–Wheeler transform">Burrows–Wheeler transform</a></li>
<li><a href="Recursive_indexing" title="Recursive indexing">Recursive indexing</a></li>
<li><a href="Run-length_limited" title="Run-length limited">Run-length limited</a></li>
<li><a href="Bitmap_index" title="Bitmap index">Bitmap index</a></li>
<li><a href="Forsyth%E2%80%93Edwards_Notation" title="Forsyth–Edwards Notation">Forsyth–Edwards Notation</a>, which uses run-length-encoding for empty spaces in chess positions.</li>
<li><a href="DEFLATE" class="mw-redirect" title="DEFLATE">DEFLATE</a></li>
<li><a href="Convolution" title="Convolution">Convolution</a></li>
<li><a href="Huffman_coding" title="Huffman coding">Huffman coding</a></li>
<li><a href="Arithmetic_coding" title="Arithmetic coding">Arithmetic coding</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-robinson-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-robinson_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFRobinsonCherry1967" class="citation journal cs1">Robinson, A. H.; Cherry, C. (1967). "Results of a prototype television bandwidth compression scheme". <i><a href="Proceedings_of_the_IEEE" title="Proceedings of the IEEE">Proceedings of the IEEE</a></i>. <b>55</b> (3). <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>: <span class="nowrap">356–</span>364. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FPROC.1967.5493">10.1109/PROC.1967.5493</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.ross.net/compression/patents_notes_from_ccfaq.html">"Run Length Encoding Patents"</a>. Internet FAQ Consortium. 21 March 1996<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://patents.google.com/patent/US4586027A">"Method and system for data compression and restoration"</a>. <i><a href="Google_Patents" title="Google Patents">Google Patents</a></i>. 7 August 1984<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://patents.google.com/patent/JPH0828053B2/en">"Data recording method"</a>. <i><a href="Google_Patents" title="Google Patents">Google Patents</a></i>. 8 August 1983<span class="reference-accessdate">. Retrieved <span class="nowrap">14 July</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-transactor-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-transactor_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDunn1987" class="citation journal cs1"><a href="Christopher_Dunn_(computer_enthusiast)" class="mw-redirect" title="Christopher Dunn (computer enthusiast)">Dunn, Christopher</a> (1987). <a rel="nofollow" class="external text" href="http://csbruce.com/cbm/transactor/pdfs/trans_v7_i06.pdf">"Smile! You're on RLE!"</a> <span class="cs1-format">(PDF)</span>. <i><a href="The_Transactor" title="The Transactor">The Transactor</a></i>. <b>7</b> (6). <a href="Transactor_Publishing" class="mw-redirect" title="Transactor Publishing">Transactor Publishing</a>: <span class="nowrap">16–</span>18<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-06</span></span>.</cite></span>
</li>
<li id="cite_note-itu-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-itu_6-0">^</a></b></span> <span class="reference-text"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="http://www.itu.int/rec/T-REC-T.45"><i>Recommendation T.45 (02/00): Run-length colour encoding</i></a>. <a href="International_Telecommunication_Union" title="International Telecommunication Union">International Telecommunication Union</a>. 2000<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-12-06</span></span>.</cite></span>
</li>
<li id="cite_note-more-itertools-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-more-itertools_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-more-itertools_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://more-itertools.readthedocs.io/en/stable/_modules/more_itertools/more.html#run_length">"more-itertools 10.4.0 documentation"</a>. August 2024.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://rosettacode.org/wiki/Run-length_encoding">Run-length encoding implemented in different programming languages</a> (on <a href="Rosetta_Code" title="Rosetta Code">Rosetta Code</a>)</li>
<li><a rel="nofollow" class="external text" href="https://gitlab.com/bztsrc/rle">Single Header Run-Length Encoding Library</a> smallest possible implementation (about 20 SLoC) in ANSI C. FOSS, compatible with <a href="Truevision_TGA" title="Truevision TGA">Truevision TGA</a>, supports 8, 16, 24 and 32 bit elements too.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Data_compression_methods241" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Data_compression_methods241" style="font-size:114%;margin:0 4em"><a href="Data_compression" title="Data compression">Data compression</a> methods</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Lossless_compression" title="Lossless compression">Lossless</a><br>type</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Entropy_coding" title="Entropy coding">Entropy</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adaptive_coding" title="Adaptive coding">Adaptive coding</a></li>
<li><a href="Arithmetic_coding" title="Arithmetic coding">Arithmetic</a></li>
<li><a href="Asymmetric_numeral_systems" title="Asymmetric numeral systems">Asymmetric numeral systems</a></li>
<li><a href="Golomb_coding" title="Golomb coding">Golomb</a></li>
<li><a href="Huffman_coding" title="Huffman coding">Huffman</a>
<ul><li><a href="Adaptive_Huffman_coding" title="Adaptive Huffman coding">Adaptive</a></li>
<li><a href="Canonical_Huffman_code" title="Canonical Huffman code">Canonical</a></li>
<li><a href="Modified_Huffman_coding" title="Modified Huffman coding">Modified</a></li></ul></li>
<li><a href="Range_coding" title="Range coding">Range</a></li>
<li><a href="Shannon_coding" title="Shannon coding">Shannon</a></li>
<li><a href="Shannon%E2%80%93Fano_coding" title="Shannon–Fano coding">Shannon–Fano</a></li>
<li><a href="Shannon%E2%80%93Fano%E2%80%93Elias_coding" title="Shannon–Fano–Elias coding">Shannon–Fano–Elias</a></li>
<li><a href="Tunstall_coding" title="Tunstall coding">Tunstall</a></li>
<li><a href="Unary_coding" title="Unary coding">Unary</a></li>
<li><a href="Universal_code_(data_compression)" title="Universal code (data compression)">Universal</a>
<ul><li><a href="Exponential-Golomb_coding" title="Exponential-Golomb coding">Exp-Golomb</a></li>
<li><a href="Fibonacci_coding" title="Fibonacci coding">Fibonacci</a></li>
<li><a href="Elias_gamma_coding" title="Elias gamma coding">Gamma</a></li>
<li><a href="Levenshtein_coding" title="Levenshtein coding">Levenshtein</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Dictionary_coder" title="Dictionary coder">Dictionary</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Byte-pair_encoding" title="Byte-pair encoding">Byte-pair encoding</a></li>
<li><a href="LZ77_and_LZ78" title="LZ77 and LZ78">Lempel–Ziv</a>
<ul><li><a href="842_(compression_algorithm)" title="842 (compression algorithm)">842</a></li>
<li><a href="LZ4_(compression_algorithm)" title="LZ4 (compression algorithm)">LZ4</a></li>
<li><a href="LZJB" class="mw-redirect" title="LZJB">LZJB</a></li>
<li><a href="Lempel%E2%80%93Ziv%E2%80%93Oberhumer" title="Lempel–Ziv–Oberhumer">LZO</a></li>
<li><a href="LZRW" title="LZRW">LZRW</a></li>
<li><a href="Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski" title="Lempel–Ziv–Storer–Szymanski">LZSS</a></li>
<li><a href="Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">LZW</a></li>
<li><a href="LZWL" title="LZWL">LZWL</a></li>
<li><a href="Snappy_(compression)" title="Snappy (compression)">Snappy</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Burrows%E2%80%93Wheeler_transform" title="Burrows–Wheeler transform">BWT</a></li>
<li><a href="Context_tree_weighting" title="Context tree weighting">CTW</a></li>
<li><a href="Context_mixing" title="Context mixing">CM</a></li>
<li><a href="Delta_encoding" title="Delta encoding">Delta</a>
<ul><li><a href="Incremental_encoding" title="Incremental encoding">Incremental</a></li></ul></li>
<li><a href="Dynamic_Markov_compression" title="Dynamic Markov compression">DMC</a></li>
<li><a href="Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a></li>
<li><a href="Grammar-based_code" title="Grammar-based code">Grammar</a>
<ul><li><a href="Re-Pair" title="Re-Pair">Re-Pair</a></li>
<li><a href="Sequitur_algorithm" title="Sequitur algorithm">Sequitur</a></li></ul></li>
<li><a href="Discrete_cosine_transform" title="Discrete cosine transform">LDCT</a></li>
<li><a href="Move-to-front_transform" title="Move-to-front transform">MTF</a></li>
<li><a href="PAQ" title="PAQ">PAQ</a></li>
<li><a href="Prediction_by_partial_matching" title="Prediction by partial matching">PPM</a></li>
</ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hybrid</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>LZ77 + Huffman
<ul><li><a href="Deflate" title="Deflate">Deflate</a></li>
<li><a href="LZX" title="LZX">LZX</a></li>
<li><a href="Lempel%E2%80%93Ziv%E2%80%93Stac" title="Lempel–Ziv–Stac">LZS</a></li></ul></li>
<li>LZ77 + ANS
<ul><li><a href="LZFSE" title="LZFSE">LZFSE</a></li></ul></li>
<li>LZ77 + Huffman + ANS
<ul><li><a href="Zstd" title="Zstd">Zstandard</a></li></ul></li>
<li>LZ77 + Huffman + context
<ul><li><a href="Brotli" title="Brotli">Brotli</a></li></ul></li>
<li>LZSS + Huffman
<ul><li><a href="LHA_(file_format)" title="LHA (file format)">LHA/LZH</a></li></ul></li>
<li>LZ77 + Range
<ul><li><a href="LZMA" title="LZMA">LZMA</a></li>
<li>LZHAM</li></ul></li>
<li>RLE + BWT + MTF + Huffman
<ul><li><a href="Bzip2" title="Bzip2">bzip2</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Lossy_compression" title="Lossy compression">Lossy</a><br>type</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Transform_coding" title="Transform coding">Transform</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Discrete_cosine_transform" title="Discrete cosine transform">Discrete cosine transform</a>
<ul><li><a href="Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li>
<li><a href="Modified_discrete_cosine_transform" title="Modified discrete cosine transform">MDCT</a></li></ul></li>
<li><a href="Discrete_sine_transform" title="Discrete sine transform">DST</a></li>
<li><a href="Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></li>
<li><a href="Wavelet_transform" title="Wavelet transform">Wavelet</a>
<ul><li><a href="Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li>
<li><a href="Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li>
<li><a href="Set_partitioning_in_hierarchical_trees" title="Set partitioning in hierarchical trees">SPIHT</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Predictive</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a>
<ul><li><a href="Adaptive_differential_pulse-code_modulation" title="Adaptive differential pulse-code modulation">ADPCM</a></li></ul></li>
<li><a href="Linear_predictive_coding" title="Linear predictive coding">LPC</a>
<ul><li><a href="Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li>
<li><a href="Code-excited_linear_prediction" title="Code-excited linear prediction">CELP</a></li>
<li><a href="Log_area_ratio" title="Log area ratio">LAR</a></li>
<li><a href="Line_spectral_pairs" title="Line spectral pairs">LSP</a></li>
<li><a href="Warped_linear_predictive_coding" title="Warped linear predictive coding">WLPC</a></li></ul></li>
<li>Motion
<ul><li><a href="Motion_compensation" title="Motion compensation">Compensation</a></li>
<li><a href="Motion_estimation" title="Motion estimation">Estimation</a></li>
<li><a href="Motion_vector" class="mw-redirect" title="Motion vector">Vector</a></li></ul></li>
<li><a href="Psychoacoustics" title="Psychoacoustics">Psychoacoustic</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Data_compression#Audio" title="Data compression">Audio</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bit_rate" title="Bit rate">Bit rate</a>
<ul><li><a href="Average_bitrate" title="Average bitrate">ABR</a></li>
<li><a href="Constant_bitrate" title="Constant bitrate">CBR</a></li>
<li><a href="Variable_bitrate" title="Variable bitrate">VBR</a></li></ul></li>
<li><a href="Companding" title="Companding">Companding</a></li>
<li><a href="Convolution" title="Convolution">Convolution</a></li>
<li><a href="Dynamic_range" title="Dynamic range">Dynamic range</a></li>
<li><a href="Latency_(audio)" title="Latency (audio)">Latency</a></li>
<li><a href="Nyquist%E2%80%93Shannon_sampling_theorem" title="Nyquist–Shannon sampling theorem">Nyquist–Shannon theorem</a></li>
<li><a href="Sampling_(signal_processing)" title="Sampling (signal processing)">Sampling</a></li>
<li><a href="Silence_compression" title="Silence compression">Silence compression</a></li>
<li><a href="Sound_quality" title="Sound quality">Sound quality</a></li>
<li><a href="Speech_coding" title="Speech coding">Speech coding</a></li>
<li><a href="Sub-band_coding" title="Sub-band coding">Sub-band coding</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Audio_codec" title="Audio codec">Codec</a><br>parts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="A-law_algorithm" title="A-law algorithm">A-law</a></li>
<li><a href="%CE%9C-law_algorithm" title="Μ-law algorithm">μ-law</a></li>
<li><a href="Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a>
<ul><li><a href="Adaptive_differential_pulse-code_modulation" title="Adaptive differential pulse-code modulation">ADPCM</a></li>
<li><a href="Delta_modulation" title="Delta modulation">DM</a></li></ul></li>
<li><a href="Fourier_transform" title="Fourier transform">FT</a>
<ul><li><a href="Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></li></ul></li>
<li><a href="Linear_predictive_coding" title="Linear predictive coding">LPC</a>
<ul><li><a href="Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li>
<li><a href="Code-excited_linear_prediction" title="Code-excited linear prediction">CELP</a></li>
<li><a href="Log_area_ratio" title="Log area ratio">LAR</a></li>
<li><a href="Line_spectral_pairs" title="Line spectral pairs">LSP</a></li>
<li><a href="Warped_linear_predictive_coding" title="Warped linear predictive coding">WLPC</a></li></ul></li>
<li><a href="Modified_discrete_cosine_transform" title="Modified discrete cosine transform">MDCT</a></li>
<li><a href="Psychoacoustics" title="Psychoacoustics">Psychoacoustic model</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Image_compression" title="Image compression">Image</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Chroma_subsampling" title="Chroma subsampling">Chroma subsampling</a></li>
<li><a href="Coding_tree_unit" title="Coding tree unit">Coding tree unit</a></li>
<li><a href="Color_space" title="Color space">Color space</a></li>
<li><a href="Compression_artifact" title="Compression artifact">Compression artifact</a></li>
<li><a href="Image_resolution" title="Image resolution">Image resolution</a></li>
<li><a href="Macroblock" title="Macroblock">Macroblock</a></li>
<li><a href="Pixel" title="Pixel">Pixel</a></li>
<li><a href="Peak_signal-to-noise_ratio" title="Peak signal-to-noise ratio">PSNR</a></li>
<li><a href="Quantization_(image_processing)" title="Quantization (image processing)">Quantization</a></li>
<li><a href="Standard_test_image" title="Standard test image">Standard test image</a></li>
<li><a href="Texture_compression" title="Texture compression">Texture compression</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Methods</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Chain_code" title="Chain code">Chain code</a></li>
<li><a href="Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li>
<li><a href="Deflate" title="Deflate">Deflate</a></li>
<li><a href="Fractal_compression" title="Fractal compression">Fractal</a></li>
<li><a href="Karhunen%E2%80%93Lo%C3%A8ve_theorem" class="mw-redirect" title="Karhunen–Loève theorem">KLT</a></li>
<li><a href="Pyramid_(image_processing)" title="Pyramid (image processing)">LP</a></li>

<li><a href="Wavelet_transform" title="Wavelet transform">Wavelet</a>
<ul><li><a href="Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li>
<li><a href="Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li>
<li><a href="Embedded_zerotrees_of_wavelet_transforms" title="Embedded zerotrees of wavelet transforms">EZW</a></li>
<li><a href="Set_partitioning_in_hierarchical_trees" title="Set partitioning in hierarchical trees">SPIHT</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Data_compression#Video" title="Data compression">Video</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bit_rate" title="Bit rate">Bit rate</a>
<ul><li><a href="Average_bitrate" title="Average bitrate">ABR</a></li>
<li><a href="Constant_bitrate" title="Constant bitrate">CBR</a></li>
<li><a href="Variable_bitrate" title="Variable bitrate">VBR</a></li></ul></li>
<li><a href="Display_resolution" title="Display resolution">Display resolution</a></li>
<li><a href="Film_frame" title="Film frame">Frame</a></li>
<li><a href="Frame_rate" title="Frame rate">Frame rate</a></li>
<li><a href="Video_compression_picture_types" title="Video compression picture types">Frame types</a></li>
<li><a href="Interlaced_video" title="Interlaced video">Interlace</a></li>
<li><a href="Video#Characteristics_of_video_streams" title="Video">Video characteristics</a></li>
<li><a href="Video_quality" title="Video quality">Video quality</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Video_codec" title="Video codec">Codec</a><br>parts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li>
<li><a href="Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a></li>
<li><a href="Deblocking_filter" title="Deblocking filter">Deblocking filter</a></li>
<li><a href="Lapped_transform" title="Lapped transform">Lapped transform</a></li>
<li>Motion
<ul><li><a href="Motion_compensation" title="Motion compensation">Compensation</a></li>
<li><a href="Motion_estimation" title="Motion estimation">Estimation</a></li>
<li><a href="Motion_vector" class="mw-redirect" title="Motion vector">Vector</a></li></ul></li>
<li><a href="Wavelet_transform" title="Wavelet transform">Wavelet</a>
<ul><li><a href="Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li>
<li><a href="Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li></ul></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Information_theory" title="Information theory">Theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Compressed_data_structure" title="Compressed data structure">Compressed data structures</a>
<ul><li><a href="Compressed_suffix_array" title="Compressed suffix array">Compressed suffix array</a></li>
<li><a href="FM-index" title="FM-index">FM-index</a></li></ul></li>
<li><a href="Entropy_(information_theory)" title="Entropy (information theory)">Entropy</a></li>
<li><a href="Information_theory" title="Information theory">Information theory</a>
<ul><li><a href="Timeline_of_information_theory" title="Timeline of information theory">Timeline</a></li></ul></li>
<li><a href="Kolmogorov_complexity" title="Kolmogorov complexity">Kolmogorov complexity</a></li>
<li><a href="Prefix_code" title="Prefix code">Prefix code</a></li>
<li><a href="Quantization_(signal_processing)" title="Quantization (signal processing)">Quantization</a></li>
<li><a href="Rate%E2%80%93distortion_theory" title="Rate–distortion theory">Rate–distortion</a></li>
<li><a href="Redundancy_(information_theory)" title="Redundancy (information theory)">Redundancy</a></li>
<li><a href="Data_compression_symmetry" title="Data compression symmetry">Symmetry</a></li>
<li><a href="Smallest_grammar_problem" title="Smallest grammar problem">Smallest grammar problem</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Community</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hutter_Prize" title="Hutter Prize">Hutter Prize</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Mark_Adler" title="Mark Adler">Mark Adler</a></li>
<li><a href="Phil_Katz" title="Phil Katz">Phil Katz</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Multimedia_compression_and_container_formats462" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Multimedia_compression_and_container_formats462" style="font-size:114%;margin:0 4em"><a href="Multimedia" title="Multimedia">Multimedia</a> <a href="Data_compression" title="Data compression">compression</a> and <a href="Container_format_(computing)" class="mw-redirect" title="Container format (computing)">container</a> formats</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Video_coding_format" title="Video coding format">Video<br>compression</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:5em"><a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>, <a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a>, <br><a href="Moving_Picture_Experts_Group" title="Moving Picture Experts Group">MPEG</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DV_(video_format)" title="DV (video format)">DV</a></li>
<li><a href="Motion_JPEG" title="Motion JPEG">MJPEG</a></li>
<li><a href="Motion_JPEG_2000" title="Motion JPEG 2000">Motion JPEG 2000</a></li>
<li><a href="MPEG-1" title="MPEG-1">MPEG-1</a></li>
<li><a href="MPEG-2" title="MPEG-2">MPEG-2</a>
<ul><li><a href="H.262/MPEG-2_Part_2" title="H.262/MPEG-2 Part 2">Part 2</a></li></ul></li>
<li><a href="MPEG-4" title="MPEG-4">MPEG-4</a>
<ul><li><a href="MPEG-4_Part_2" title="MPEG-4 Part 2">Part 2 / ASP</a></li>
<li><a href="H.264/MPEG-4_AVC" class="mw-redirect" title="H.264/MPEG-4 AVC">Part 10 / AVC</a></li>
<li><a href="MPEG-4_IVC" class="mw-redirect" title="MPEG-4 IVC">Part 33 / IVC</a></li></ul></li>
<li><a href="MPEG-H" title="MPEG-H">MPEG-H</a>
<ul><li><a href="High_Efficiency_Video_Coding" title="High Efficiency Video Coding">Part 2 / HEVC</a></li></ul></li>
<li>MPEG-I
<ul><li><a href="Versatile_Video_Coding" title="Versatile Video Coding">Part 3 / VVC</a></li></ul></li>
<li><a href="MPEG-5" class="mw-redirect" title="MPEG-5">MPEG-5</a>
<ul><li><a href="Essential_Video_Coding" title="Essential Video Coding">Part 1 / EVC</a></li>
<li><a href="LCEVC" title="LCEVC">Part 2 / LCEVC</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="ITU-T" title="ITU-T">ITU-T</a>, <a href="Video_Coding_Experts_Group" title="Video Coding Experts Group">VCEG</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="H.120" title="H.120">H.120</a></li>
<li><a href="H.261" title="H.261">H.261</a></li>
<li><a href="H.262/MPEG-2_Part_2" title="H.262/MPEG-2 Part 2">H.262</a></li>
<li><a href="H.263" title="H.263">H.263</a></li>
<li><a href="Advanced_Video_Coding" title="Advanced Video Coding">H.264 / AVC</a></li>
<li><a href="High_Efficiency_Video_Coding" title="High Efficiency Video Coding">H.265 / HEVC</a></li>
<li><a href="Versatile_Video_Coding" title="Versatile Video Coding">H.266 / VVC</a></li>
<li>H.267 / Enhanced Compression Model</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="Society_of_Motion_Picture_and_Television_Engineers" title="Society of Motion Picture and Television Engineers">SMPTE</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="VC-1" title="VC-1">VC-1</a></li>
<li><a href="Dirac_(video_compression_format)" title="Dirac (video compression format)">VC-2</a></li>
<li><a href="Avid_DNxHD" title="Avid DNxHD">VC-3</a></li>
<li><a href="CineForm" title="CineForm">VC-5</a></li>
<li><a href="VC-6" title="VC-6">VC-6</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="On2_Technologies" title="On2 Technologies">TrueMotion</a> and AOMedia</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="On2_Technologies#TrueMotion_S" title="On2 Technologies">TrueMotion S</a></li>
<li><a href="VP3" title="VP3">VP3</a></li>
<li><a href="VP6" title="VP6">VP6</a></li>
<li><a href="VP7" class="mw-redirect" title="VP7">VP7</a></li>
<li><a href="VP8" title="VP8">VP8</a></li>
<li><a href="VP9" title="VP9">VP9</a></li>
<li><a href="AV1" title="AV1">AV1</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Chinese Standard</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Audio_Video_Standard#First_generation" title="Audio Video Standard">AVS1 P2/AVS+</a>(GB/T 20090.2/16)</li>
<li><a href="Audio_Video_Standard#Second_generation" title="Audio Video Standard">AVS2 P2</a>(GB/T 33475.2,GY/T 299.1)
<ul><li>HDR Vivid(GY/T 358)</li></ul></li>
<li>AVS3 P2(GY/T 368)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Others</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Apple_Video" title="Apple Video">Apple Video</a></li>
<li><a href="Audio_Video_Standard" title="Audio Video Standard">AVS</a></li>
<li><a href="Bink_Video" title="Bink Video">Bink</a></li>
<li><a href="Cinepak" title="Cinepak">Cinepak</a></li>
<li><a href="Daala" title="Daala">Daala</a></li>
<li><a href="Digital_Video_Interactive" title="Digital Video Interactive">DVI</a></li>
<li><a href="FFV1" title="FFV1">FFV1</a></li>
<li><a href="Huffyuv" title="Huffyuv">Huffyuv</a></li>
<li><a href="Indeo" title="Indeo">Indeo</a></li>
<li><a href="Lagarith" title="Lagarith">Lagarith</a></li>
<li><a href="Microsoft_Video_1" title="Microsoft Video 1">Microsoft Video 1</a></li>
<li><a href="MSU_Lossless_Video_Codec" title="MSU Lossless Video Codec">MSU Lossless</a></li>
<li><a href="OMS_Video" title="OMS Video">OMS Video</a></li>
<li><a href="Pixlet" title="Pixlet">Pixlet</a></li>
<li><a href="Apple_ProRes" title="Apple ProRes">ProRes</a>
<ul><li><a href="ProRes_422" class="mw-redirect" title="ProRes 422">422</a></li>
<li><a href="ProRes_4444" class="mw-redirect" title="ProRes 4444">4444</a></li></ul></li>
<li>QuickTime
<ul><li><a href="QuickTime_Animation" title="QuickTime Animation">Animation</a></li>
<li><a href="QuickTime_Graphics" title="QuickTime Graphics">Graphics</a></li></ul></li>
<li><a href="RealVideo" title="RealVideo">RealVideo</a></li>
<li><a href="RTVideo" title="RTVideo">RTVideo</a></li>
<li><a href="SheerVideo" title="SheerVideo">SheerVideo</a></li>
<li><a href="Smacker_video" title="Smacker video">Smacker</a></li>
<li><a href="Sorenson_Media" title="Sorenson Media">Sorenson Video/Spark</a></li>
<li><a href="Theora" title="Theora">Theora</a></li>
<li><a href="Thor_(video_codec)" title="Thor (video codec)">Thor</a></li>
<li><a href="Ut_Video_Codec_Suite" title="Ut Video Codec Suite">Ut</a></li>
<li><a href="Windows_Media_Video" title="Windows Media Video">WMV</a></li>
<li><a href="RatDVD" title="RatDVD">XEB</a></li>
<li><a href="YULS" title="YULS">YULS</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Audio_coding_format" title="Audio coding format">Audio<br>compression</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:5em"><a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>, <a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a>,<br> <a href="Moving_Picture_Experts_Group" title="Moving Picture Experts Group">MPEG</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MPEG-1_Audio_Layer_II" title="MPEG-1 Audio Layer II">MPEG-1 Layer II</a>
<ul><li><a href="MPEG_Multichannel" title="MPEG Multichannel">Multichannel</a></li></ul></li>
<li><a href="MPEG-1_Audio_Layer_I" title="MPEG-1 Audio Layer I">MPEG-1 Layer I</a></li>
<li><a href="MP3" title="MP3">MPEG-1 Layer III (MP3)</a></li>
<li><a href="Advanced_Audio_Coding" title="Advanced Audio Coding">AAC</a>
<ul><li><a href="High-Efficiency_Advanced_Audio_Coding" title="High-Efficiency Advanced Audio Coding">HE-AAC</a></li>
<li><a href="AAC-LD" title="AAC-LD">AAC-LD</a></li></ul></li>
<li><a href="MPEG_Surround" title="MPEG Surround">MPEG Surround</a></li>
<li><a href="Audio_Lossless_Coding" title="Audio Lossless Coding">MPEG-4 ALS</a></li>
<li><a href="MPEG-4_SLS" title="MPEG-4 SLS">MPEG-4 SLS</a></li>
<li><a href="Super_Audio_CD#DST" title="Super Audio CD">MPEG-4 DST</a></li>
<li><a href="Harmonic_Vector_Excitation_Coding" title="Harmonic Vector Excitation Coding">MPEG-4 HVXC</a></li>
<li><a href="Code-excited_linear_prediction" title="Code-excited linear prediction">MPEG-4 CELP</a></li>
<li><a href="Unified_Speech_and_Audio_Coding" title="Unified Speech and Audio Coding">MPEG-D USAC</a></li>
<li><a href="MPEG-H_3D_Audio" title="MPEG-H 3D Audio">MPEG-H 3D Audio</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="ITU-T" title="ITU-T">ITU-T</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="G.711" title="G.711">G.711</a>
<ul><li><a href="A-law_algorithm" title="A-law algorithm">A-law</a></li>
<li><a href="%CE%9C-law_algorithm" title="Μ-law algorithm">µ-law</a></li></ul></li>
<li><a href="G.718" title="G.718">G.718</a></li>
<li><a href="G.719" title="G.719">G.719</a></li>
<li><a href="G.722" title="G.722">G.722</a></li>
<li><a href="G.722.1" title="G.722.1">G.722.1</a></li>
<li><a href="Adaptive_Multi-Rate_Wideband" title="Adaptive Multi-Rate Wideband">G.722.2</a></li>
<li><a href="G.723" title="G.723">G.723</a></li>
<li><a href="G.723.1" title="G.723.1">G.723.1</a></li>
<li><a href="G.726" title="G.726">G.726</a></li>
<li><a href="G.728" title="G.728">G.728</a></li>
<li><a href="G.729" title="G.729">G.729</a></li>
<li><a href="G.729.1" title="G.729.1">G.729.1</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Opus_(audio_format)" title="Opus (audio format)">Opus</a></li>
<li><a href="Internet_Low_Bitrate_Codec" title="Internet Low Bitrate Codec">iLBC</a></li>
<li><a href="Speex" title="Speex">Speex</a></li>
<li><a href="Vorbis" title="Vorbis">Vorbis</a></li>
<li><a href="FLAC" title="FLAC">FLAC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="3GPP" title="3GPP">3GPP</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adaptive_Multi-Rate_audio_codec" title="Adaptive Multi-Rate audio codec">AMR</a></li>
<li><a href="Adaptive_Multi-Rate_Wideband" title="Adaptive Multi-Rate Wideband">AMR-WB</a></li>
<li><a href="Extended_Adaptive_Multi-Rate_%E2%80%93_Wideband" title="Extended Adaptive Multi-Rate – Wideband">AMR-WB+</a></li>
<li><a href="Enhanced_Variable_Rate_Codec" title="Enhanced Variable Rate Codec">EVRC</a></li>
<li><a href="Enhanced_Variable_Rate_Codec_B" title="Enhanced Variable Rate Codec B">EVRC-B</a></li>
<li><a href="Enhanced_Voice_Services" title="Enhanced Voice Services">EVS</a></li>
<li><a href="Half_Rate" title="Half Rate">GSM-HR</a></li>
<li><a href="Full_Rate" title="Full Rate">GSM-FR</a></li>
<li><a href="Enhanced_full_rate" title="Enhanced full rate">GSM-EFR</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="ETSI" class="mw-redirect" title="ETSI">ETSI</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Dolby_Digital" title="Dolby Digital">AC-3</a></li>
<li><a href="Dolby_AC-4" title="Dolby AC-4">AC-4</a></li>
<li><a href="DTS_(sound_system)" class="mw-redirect" title="DTS (sound system)">DTS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="Bluetooth_Special_Interest_Group" title="Bluetooth Special Interest Group">Bluetooth SIG</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="SBC_(codec)" title="SBC (codec)">SBC</a></li>
<li><a href="LC3_(codec)" title="LC3 (codec)">LC3</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Chinese Standard</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Audio_Video_Standard#First_generation" title="Audio Video Standard">AVS1 P10</a>(GB/T 20090.10)</li>
<li><a href="Audio_Video_Standard#Second_generation" title="Audio Video Standard">AVS2 P3</a>(GB/T 33475.3)
<ul><li>Audio Vivid(GY/T 363)</li></ul></li>
<li><a href="Dynamic_Resolution_Adaptation" title="Dynamic Resolution Adaptation">DRA</a>(GB/T 22726)</li>
<li>ExAC(SJ/T 11299.4)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Others</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li>
<li><a href="Apple_Lossless_Audio_Codec" title="Apple Lossless Audio Codec">ALAC</a></li>
<li><a href="Asao_(codec)" title="Asao (codec)">Asao</a></li>
<li><a href="Adaptive_Transform_Acoustic_Coding" class="mw-redirect" title="Adaptive Transform Acoustic Coding">ATRAC</a></li>
<li><a href="CELT" title="CELT">CELT</a></li>
<li><a href="Codec_2" title="Codec 2">Codec 2</a></li>
<li><a href="Internet_Speech_Audio_Codec" title="Internet Speech Audio Codec">iSAC</a></li>
<li><a href="Lyra_(codec)" title="Lyra (codec)">Lyra</a></li>
<li><a href="Mixed-excitation_linear_prediction" title="Mixed-excitation linear prediction">MELP</a></li>
<li><a href="Monkey's_Audio" title="Monkey's Audio">Monkey's Audio</a></li>
<li><a href="MT9" title="MT9">MT9</a></li>
<li><a href="Musepack" title="Musepack">Musepack</a></li>
<li><a href="OptimFROG" title="OptimFROG">OptimFROG</a></li>
<li><a href="Original_Sound_Quality" title="Original Sound Quality">OSQ</a></li>
<li><a href="Qualcomm_code-excited_linear_prediction" title="Qualcomm code-excited linear prediction">QCELP</a></li>
<li><a href="Relaxed_code-excited_linear_prediction" title="Relaxed code-excited linear prediction">RCELP</a></li>
<li><a href="RealAudio" title="RealAudio">RealAudio</a></li>
<li><a href="Avid_Audio#Sound_Designer_file_formats" title="Avid Audio">SD2</a></li>
<li><a href="Shorten_file_format" class="mw-redirect" title="Shorten file format">SHN</a></li>
<li><a href="SILK" title="SILK">SILK</a></li>
<li><a href="Siren_(codec)" title="Siren (codec)">Siren</a></li>
<li><a href="Selectable_Mode_Vocoder" title="Selectable Mode Vocoder">SMV</a></li>
<li><a href="SVOPC" title="SVOPC">SVOPC</a></li>
<li>TTA
<ul><li>True Audio</li></ul></li>
<li><a href="TwinVQ" title="TwinVQ">TwinVQ</a></li>
<li><a href="Variable-Rate_Multimode_Wideband" title="Variable-Rate Multimode Wideband">VMR-WB</a></li>
<li><a href="Vector_sum_excited_linear_prediction" title="Vector sum excited linear prediction">VSELP</a></li>
<li><a href="WavPack" title="WavPack">WavPack</a></li>
<li><a href="Windows_Media_Audio" title="Windows Media Audio">WMA</a></li>
<li><a href="Master_Quality_Authenticated" title="Master Quality Authenticated">MQA</a></li>
<li><a href="AptX" title="AptX">aptX</a></li>
<li><a href="AptX#aptX_HD" title="AptX">aptX HD</a></li>
<li><a href="AptX#aptX_Low_Latency" title="AptX">aptX Low Latency</a></li>
<li><a href="AptX#aptX_Adaptive" title="AptX">aptX Adaptive</a></li>
<li><a href="LDAC_(codec)" title="LDAC (codec)">LDAC</a></li>
<li><a href="LHDC_(codec)" title="LHDC (codec)">LHDC</a></li>
<li><a href="LHDC_(codec)#LLAC" title="LHDC (codec)">LLAC</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Image_compression" title="Image compression">Image<br>compression</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:5em"><a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a>, <a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>, <a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a>, <br><a href="World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a>, <a href="ITU-T" title="ITU-T">ITU-T</a>, <a href="Joint_Photographic_Experts_Group" title="Joint Photographic Experts Group">JPEG</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Group_4_compression" title="Group 4 compression">CCITT Group 4</a></li>
<li><a href="GIF" title="GIF">GIF</a></li>
<li><a href="High_Efficiency_Image_File_Format#HEIC:_HEVC_in_HEIF" title="High Efficiency Image File Format">HEIC / HEIF</a></li>
<li><a href="High_Efficiency_Video_Coding#Main_Still_Picture" title="High Efficiency Video Coding">HEVC</a></li>
<li><a href="JBIG" title="JBIG">JBIG</a></li>
<li><a href="JBIG2" title="JBIG2">JBIG2</a></li>
<li><a href="JPEG" title="JPEG">JPEG</a></li>
<li><a href="JPEG_2000" title="JPEG 2000">JPEG 2000</a></li>
<li><a href="JPEG-LS" class="mw-redirect" title="JPEG-LS">JPEG-LS</a></li>
<li><a href="JPEG_XL" title="JPEG XL">JPEG XL</a></li>
<li><a href="JPEG_XR" title="JPEG XR">JPEG XR</a></li>
<li><a href="JPEG_XS" title="JPEG XS">JPEG XS</a></li>
<li><a href="JPEG_XT" title="JPEG XT">JPEG XT</a></li>
<li><a href="PNG" title="PNG">PNG</a>
<ul><li><a href="APNG" title="APNG">APNG</a></li></ul></li>
<li><a href="TIFF" title="TIFF">TIFF</a></li>
<li><a href="TIFF/EP" title="TIFF/EP">TIFF/EP</a></li>
<li><a href="TIFF/IT" class="mw-redirect" title="TIFF/IT">TIFF/IT</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Others</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="AV1" title="AV1">AV1</a></li>
<li><a href="AVIF" title="AVIF">AVIF</a></li>
<li><a href="Better_Portable_Graphics" title="Better Portable Graphics">BPG</a></li>
<li><a href="DjVu" title="DjVu">DjVu</a></li>
<li><a href="OpenEXR" title="OpenEXR">EXR</a></li>
<li><a href="Free_Lossless_Image_Format" title="Free Lossless Image Format">FLIF</a></li>
<li><a href="ICER_(file_format)" title="ICER (file format)">ICER</a></li>
<li><a href="Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a></li>
<li><a href="Progressive_Graphics_File" title="Progressive Graphics File">PGF</a></li>
<li><a href="QOI_(image_format)" title="QOI (image format)">QOI</a></li>
<li><a href="QuickTime_VR" title="QuickTime VR">QTVR</a></li>
<li><a href="Wireless_Application_Protocol_Bitmap_Format" title="Wireless Application Protocol Bitmap Format">WBMP</a></li>
<li><a href="WebP" title="WebP">WebP</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Digital_container_format" class="mw-redirect" title="Digital container format">Containers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:5em"><a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>, <a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MPEG_elementary_stream" title="MPEG elementary stream">MPEG-ES</a>
<ul><li><a href="Packetized_elementary_stream" title="Packetized elementary stream">MPEG-PES</a></li></ul></li>
<li><a href="MPEG_program_stream" title="MPEG program stream">MPEG-PS</a></li>
<li><a href="MPEG_transport_stream" title="MPEG transport stream">MPEG-TS</a></li>
<li><a href="ISO/IEC_base_media_file_format" class="mw-redirect" title="ISO/IEC base media file format">ISO/IEC base media file format</a></li>
<li><a href="MPEG-4_Part_14" class="mw-redirect" title="MPEG-4 Part 14">MPEG-4 Part 14</a> (MP4)</li>
<li><a href="Motion_JPEG_2000" title="Motion JPEG 2000">Motion JPEG 2000</a></li>
<li><a href="MPEG-21" title="MPEG-21">MPEG-21 Part 9</a></li>
<li><a href="MPEG_media_transport" title="MPEG media transport">MPEG media transport</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="ITU-T" title="ITU-T">ITU-T</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MPEG-2#Systems" title="MPEG-2">H.222.0</a></li>
<li><a href="Motion_JPEG_2000" title="Motion JPEG 2000">T.802</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Real-time_Transport_Protocol" title="Real-time Transport Protocol">RTP</a></li>
<li><a href="Ogg" title="Ogg">Ogg</a></li>
<li><a href="Matroska" title="Matroska">Matroska</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em"><a href="Society_of_Motion_Picture_and_Television_Engineers" title="Society of Motion Picture and Television Engineers">SMPTE</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="General_Exchange_Format" title="General Exchange Format">GXF</a></li>
<li><a href="Material_Exchange_Format" title="Material Exchange Format">MXF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:5em">Others</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="3GP_and_3G2" title="3GP and 3G2">3GP and 3G2</a></li>
<li><a href="AMV_video_format" title="AMV video format">AMV</a></li>
<li><a href="Advanced_Systems_Format" title="Advanced Systems Format">ASF</a></li>
<li><a href="Audio_Interchange_File_Format" title="Audio Interchange File Format">AIFF</a></li>
<li><a href="Audio_Video_Interleave" title="Audio Video Interleave">AVI</a></li>
<li><a href="Au_file_format" title="Au file format">AU</a></li>
<li><a href="Better_Portable_Graphics" title="Better Portable Graphics">BPG</a></li>
<li><a href="Bink_Video" title="Bink Video">Bink</a>
<ul><li><a href="Smacker_video" title="Smacker video">Smacker</a></li></ul></li>
<li><a href="BMP_file_format" title="BMP file format">BMP</a></li>
<li><a href="DivX#DivX_Media_Format_(DMF)" title="DivX">DivX Media Format</a></li>
<li><a href="Enhanced_VOB" title="Enhanced VOB">EVO</a></li>
<li><a href="Flash_Video" title="Flash Video">Flash Video</a></li>
<li><a href="High_Efficiency_Image_File_Format" title="High Efficiency Image File Format">HEIF</a></li>
<li><a href="Interchange_File_Format" title="Interchange File Format">IFF</a></li>
<li><a href=".m2ts" title=".m2ts">M2TS</a></li>
<li><a href="Matroska" title="Matroska">Matroska</a>
<ul><li><a href="WebM" title="WebM">WebM</a></li></ul></li>
<li><a href="QuickTime_File_Format" title="QuickTime File Format">QuickTime File Format</a></li>
<li><a href="RatDVD" title="RatDVD">RatDVD</a></li>
<li><a href="RealMedia" title="RealMedia">RealMedia</a></li>
<li><a href="Resource_Interchange_File_Format" title="Resource Interchange File Format">RIFF</a>
<ul><li><a href="WAV" title="WAV">WAV</a></li></ul></li>
<li><a href="MOD_and_TOD" title="MOD and TOD">MOD and TOD</a></li>
<li><a href="VOB" title="VOB">VOB, IFO and BUP</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Collaborations</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="NETVC" title="NETVC">NETVC</a></li>
<li><a href="MPEG_LA" title="MPEG LA">MPEG LA</a></li>
<li><a href="Alliance_for_Open_Media" title="Alliance for Open Media">Alliance for Open Media</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Data_compression" title="Data compression">Methods</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Entropy_encoding" class="mw-redirect" title="Entropy encoding">Entropy</a>
<ul><li><a href="Arithmetic_coding" title="Arithmetic coding">Arithmetic</a></li>
<li><a href="Huffman_coding" title="Huffman coding">Huffman</a></li>
<li><a href="Modified_Huffman_coding" title="Modified Huffman coding">Modified</a></li></ul></li>
<li><a href="Linear_predictive_coding" title="Linear predictive coding">LPC</a>
<ul><li><a href="Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li>
<li><a href="Code-excited_linear_prediction" title="Code-excited linear prediction">CELP</a></li>
<li><a href="Line_spectral_pairs" title="Line spectral pairs">LSP</a></li>
<li><a href="Warped_linear_predictive_coding" title="Warped linear predictive coding">WLPC</a></li></ul></li>
<li><a href="Lossless_compression" title="Lossless compression">Lossless</a></li>
<li><a href="Lossy_compression" title="Lossy compression">Lossy</a></li>
<li><a href="LZ77_and_LZ78" title="LZ77 and LZ78">LZ</a>
<ul><li><a href="DEFLATE" class="mw-redirect" title="DEFLATE">DEFLATE</a></li>
<li><a href="Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">LZW</a></li></ul></li>
<li><a href="Pulse-code_modulation" title="Pulse-code modulation">PCM</a>
<ul><li><a href="A-law_algorithm" title="A-law algorithm">A-law</a></li>
<li><a href="%CE%9C-law_algorithm" title="Μ-law algorithm">µ-law</a></li>
<li><a href="Adaptive_differential_pulse-code_modulation" title="Adaptive differential pulse-code modulation">ADPCM</a></li>
<li><a href="Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a></li></ul></li>
<li><a href="Transform_coding" title="Transform coding">Transforms</a>
<ul><li><a href="Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li>
<li><a href="Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></li>
<li><a href="Modified_discrete_cosine_transform" title="Modified discrete cosine transform">MDCT</a></li>
<li><a href="Wavelet" title="Wavelet">Wavelet</a>
<ul><li><a href="Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li>
<li><a href="Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li></ul></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Lists</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_audio_coding_formats" title="Comparison of audio coding formats">Comparison of audio coding formats</a></li>
<li><a href="Comparison_of_video_codecs" title="Comparison of video codecs">Comparison of video codecs</a></li>
<li><a href="List_of_codecs" title="List of codecs">List of codecs</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>See Compression methods for techniques and Compression software for codecs</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-01-31" href="https://en.wikipedia.org/wiki/?title=Run-length_encoding&amp;oldid=1273094395">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>